namespace Rubikev.Common.DependencyInjection
{
   /// <summary>
   /// Interface for obtaining instances from Dependency injection
   /// </summary>
   public interface ITypeProvider
   {
      /// <summary>
      /// Gets the instance of the object of the given type
      /// </summary>
      /// <typeparam name="T">The type of the instance to get</typeparam>
      /// <returns>The instance of the required type</returns>
      T GetInstance<T>();
   }
}